package main

import (
	"fmt"
)

func main13() {
	// 将add()函数，强制转换为BinaryOperationFunc类型
	addHandler := BinaryOperationFunc(add)

	// 将minus()函数，强制转换为BinaryOperationFunc类型
	minusHandler := BinaryOperationFunc(minus)

	// 将multiply()函数，强制转换为BinaryOperationFunc类型
	multiplyHandler := BinaryOperationFunc(multiply)

	// 将divide()函数，强制转换为BinaryOperationFunc类型
	divideHandler := BinaryOperationFunc(divide)

	// 分别调用四个函数变量的的test方法
	addHandler.test(1, 2)
	minusHandler.test(1, 2)
	multiplyHandler.test(1, 2)
	divideHandler.test(1, 2)
}

type BinaryOperationFunc func(a, b int) int

func (handler BinaryOperationFunc) test(a, b int) {
	fmt.Println("运算结果：", handler(a, b))
}
